package com.sync.syncmasterdata.util;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;

import java.text.SimpleDateFormat;
import java.util.*;

/**
 * 生成BIP使用的pkid用
 */
@Slf4j
public class RandomCodeUtil {
    // 基础前缀（例如 1001A21）
    private static final String PREFIX = "1001A21";
    // 数字部分长度（例如 00000004 -> 8位）
    private static final int NUM_LENGTH = 8;
    // 随机字母部分长度（例如 FWTB -> 4位）
    private static final int LETTER_LENGTH = 4;

    public static String generateRandomCode() {
        Random random = new Random();
        StringBuilder sb = new StringBuilder();

        // 添加前缀
        sb.append(PREFIX);

        // 添加8位数字，不足补零
        int numPart = random.nextInt(99999999); // 0 ~ 99,999,999
        sb.append(String.format("%0" + NUM_LENGTH + "d", numPart));

        // 添加4位随机大写字母
        for (int i = 0; i < LETTER_LENGTH; i++) {
            char letter = (char) ('A' + random.nextInt(26));
            sb.append(letter);
        }

        return sb.toString();
    }
}
